<?php

class CarregaDescricaoProdutos{
	
	var $db;
	var $db2;
	var $db4;
	var $tpl;
	
	
	function CarregaDescricaoProdutos($tmp_path,$js_path) {
		$this->db = new Persist();
		$this->db2 = new Persist();
		$this->db4 = new Persist();
		$this->tpl = new TemplatePower(@$tmp_path.'tmpl.CarregaDescricaoProdutos.html');
		
		$this->tpl->prepare();
		$this->tpl->assign('path',@$js_path.'libs.CarregaDescricaoProdutos.js');
	}
	
	function escreveHtml($id,$query = '',$pagina = 1,$ref = 0){
	
		$this->tpl->assign('idprod',$id);
		$this->db->sql = " SELECT produtos.* FROM produtos
									WHERE produtos.id = $id";
		$this->db->ler();
		$this->db->ini();
		
		$this->tpl->assign('id',$this->db->id);
		$this->tpl->assign('nome'," C&oacute;digo: ".$this->db->id." - ".$this->db->codigo);
		$this->tpl->assign("preco", 'R$ '. ( $this->db->pr_antes != '0' ? number_format($this->db->pr_antes,2,',','.') :  number_format($this->db->pr_venda,2,',','.')) );
		
		
		$descricao_html = $this->db->descricao;
		$this->tpl->assign('descricao',$descricao_html);
		
		$this->tpl->assign('query',$query);
		$this->tpl->assign('pagina',$pagina);
		@session_start();

		$this->db2->sql = "SELECT * FROM fotos_produtos
												WHERE id_produto = ". $this->db->id . " AND mostra_site = 1 " ;

			$this->db2->ler();
			$this->tpl->newBlock("IMG_GAL");
			$x=1;
			
			while($this->db2->ini()){
				$this->tpl->newBlock("ICO_IMG");
				
				$this->tpl->assign('img','fotos/'.$this->db->id.'/'.$this->db2->arquivo);
				$this->tpl->assign('n',$x);
				$x++;
			}
			
			for($y=1;$y<$x;$y++){
				$this->tpl->newBlock("ICO");
				$this->tpl->assign('n',$y);
				
			}
		
			$this->tpl->newBlock("COMPRA");
			
			$this->tpl->newBlock("ABRE_MODELO");
					
			$this->tpl->newBlock("MODELO");
			$this->tpl->assign('id_modelo',$this->db->id);
			$this->tpl->assign('desc',$this->db->codigo.' '.$this->db->cor.' '.$this->db->tamanho);
			
			$this->tpl->newBlock("MODELO_PRECO");
			$this->tpl->assign('id',$this->db->id);
			$this->tpl->assign('preco_modelo',$this->db->pr_antes != '0' ?  number_format($this->db->pr_antes,2,',','.') :  number_format($this->db->pr_venda,2,',','.'));
			
			//$this->tpl->assign('slt',$referencia != 0, );
			
			$this->db4->sql = "SELECT ds_descricao,produtos_descricao.id_descricao as id_descricao FROM 
									rel_produto_descricao
	
									INNER JOIN produtos_descricao_valor
										ON rel_produto_descricao.id_descricao_valor = produtos_descricao_valor.id_descricao_valor
									INNER JOIN
											 produtos_descricao
										ON produtos_descricao.id_descricao = produtos_descricao_valor.id_descricao

									WHERE id_produto = 	".$this->db->id." AND rel_produto_descricao.ativo = 1
										GROUP BY produtos_descricao.id_descricao ";
			
			
			if($this->db4->ler() > 0){
					$this->tpl->newBlock("TEM_DESCRICAO");
					
					while($this->db4->ini()){
						
						$this->tpl->newBlock("ID_DESCRICAO");
						$this->tpl->assign('tp_desc',$this->db4->ds_descricao);
						$this->tpl->assign('id_desc',$this->db4->id_descricao);
						
						$this->db2->sql = "SELECT ds_descricao,produtos_descricao.id_descricao as id_descricao,
													produtos_descricao_valor.ds_valor, rel_produto_descricao.id_descricao_valor as id_descricao_valor
													FROM 
														rel_produto_descricao
														
													INNER JOIN produtos_descricao_valor
														ON rel_produto_descricao.id_descricao_valor = produtos_descricao_valor.id_descricao_valor
													INNER JOIN
															 produtos_descricao
														ON produtos_descricao.id_descricao = produtos_descricao_valor.id_descricao
															WHERE id_produto = ".$this->db->id." and produtos_descricao.id_descricao = ". $this->db4->id_descricao ." 
																AND rel_produto_descricao.ativo = 1
																	GROUP BY produtos_descricao_valor.id_descricao_valor";
						$this->db2->ler();
						$this->tpl->newBlock("MODELO");
						$this->tpl->assign('desc',"Selecione um descri&ccedil;&atilde;o");
						
						while($this->db2->ini()){
							$this->tpl->newBlock("MODELO");
							
							$this->tpl->assign('id_modelo',$this->db2->id_descricao_valor);
							$this->tpl->assign('desc',$this->db2->ds_valor);
						}
						
						
					}
				
				
				
			}
				
		
		return $this->tpl->getOutputContent();
	}
	
	
	//auxiliar jquery
	function htmlGeraSelectsByDescricoes($arr,$id){
		
		$max_para_formar_descricao = 0 ;			
		$sql_in = " AND  rel_produto_descricao.id_descricao_valor  IN(";

		foreach($arr as $v){
			if($v != ''){
				$max_para_formar_descricao++;
				$sql_in .= "$v,";
				$v_real = $v;
			}
		}
		$sql_in .= $v_real.")";
		
		if($max_para_formar_descricao == 0)
			$sql_in = "";
		
		$this->db->sql = "   SELECT rel_produto_descricao.id_descricao as ID_DESCRICAO
								 FROM 
									rel_produto_descricao
								
									INNER JOIN produtos_descricao_valor
										ON rel_produto_descricao.id_descricao_valor = produtos_descricao_valor.id_descricao_valor
									INNER JOIN
											 produtos_descricao
										ON produtos_descricao.id_descricao = produtos_descricao_valor.id_descricao
				
									WHERE rel_produto_descricao.id_produto = $id  $sql_in AND rel_produto_descricao.ativo = 1
										GROUP by rel_produto_descricao.id_descricao
											having count(rel_produto_descricao.id_descricao) >= $max_para_formar_descricao
															 ";
		
				if($this->db->ler()>0){
					$sql_in = " IN( ";
					while($this->db->ini()){
						 $sql_in  .= $this->db->ID_DESCRICAO.",";
					}
						$sql_in  .= $this->db->ID_DESCRICAO.")";
					
					$this->db4->sql = "SELECT ds_descricao,produtos_descricao.id_descricao as id_descricao,
													produtos_descricao_valor.ds_valor, rel_produto_descricao.id_descricao_valor as id_descricao_valor
													FROM 
														rel_produto_descricao
														
													INNER JOIN produtos_descricao_valor
														ON rel_produto_descricao.id_descricao_valor = produtos_descricao_valor.id_descricao_valor
													INNER JOIN
															 produtos_descricao
														ON produtos_descricao.id_descricao = produtos_descricao_valor.id_descricao
															WHERE id_produto = $id  and rel_produto_descricao.id_descricao $sql_in AND rel_produto_descricao.ativo = 1
																	GROUP BY produtos_descricao_valor.id_descricao_valor
																			ORDER BY id_descricao ASC
									";
				
					if($this->db4->ler()>0){
						$retorno = '';
						while($this->db4->ini()){
							$retorno .= $this->db4->ds_descricao."|".$this->db4->id_descricao."|".$this->db4->ds_valor."|".$this->db4->id_descricao_valor."#";
						}
					}
					
				}
				print $retorno;
	}
	//auxiliar JQUERY
	
	function check_descricao($arr,$id){
		
		$max_para_formar_descricao = 0 ;			
		$sql_in = " AND  rel_produto_descricao.id_descricao_valor  IN(";

		foreach($arr as $v){
			if($v != ''){
				$max_para_formar_descricao++;
				$sql_in .= "$v,";
				$v_real = $v;
			}
		}
		$sql_in .= $v_real.")";
		
		if($max_para_formar_descricao == 0)
			$sql_in = "";
			
		$this->db->sql = "   SELECT rel_produto_descricao.id_descricao as ID_DESCRICAO
								 FROM 
									rel_produto_descricao
								
									INNER JOIN produtos_descricao_valor
										ON rel_produto_descricao.id_descricao_valor = produtos_descricao_valor.id_descricao_valor
									INNER JOIN
											 produtos_descricao
										ON produtos_descricao.id_descricao = produtos_descricao_valor.id_descricao
				
									WHERE rel_produto_descricao.id_produto = $id  $sql_in AND rel_produto_descricao.ativo = 1
										GROUP by rel_produto_descricao.id_descricao
											having count(rel_produto_descricao.id_descricao) >= $max_para_formar_descricao
				 ";
									
		if($this->db->ler()>0){
			$this->db->ini();
			print $this->db->ID_DESCRICAO;
		}
	}
	
}
?>